package com.csxy.six.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.csxy.six.dto.LostItemDTO;
import com.csxy.six.entity.LostItem;
import java.util.List;

public interface LostItemService extends IService<LostItem> {
    /**
     * 添加失物信息
     * @param lostItemDTO 失物信息DTO
     * @return 添加后的失物信息
     */
    LostItem addLostItem(LostItemDTO lostItemDTO);

    /**
     * 获取所有失物信息
     * @return 失物信息列表
     */
    List<LostItem> getAllLostItems();

    /**
     * 根据ID获取失物信息
     * @param lostId 失物ID
     * @return 失物信息
     */
    LostItem getLostItemById(Integer lostId);

    /**
     * 更新失物信息
     * @param lostId 失物ID
     * @param lostItemDTO 更新的失物信息DTO
     * @return 更新后的失物信息
     */
    LostItem updateLostItem(Integer lostId, LostItemDTO lostItemDTO);

    /**
     * 删除失物信息
     * @param lostId 失物ID
     */
    void deleteLostItem(Integer lostId);

    /**
     * 根据发布者ID获取失物信息
     * @param publisherId 发布者ID
     * @return 失物信息列表
     */
    List<LostItem> getLostItemsByPublisher(Long publisherId);

    /**
     * 标记为已找到
     * @param lostId 失物ID
     * @return 更新后的失物信息
     */
    LostItem markAsFound(Integer lostId);
}